/*This is the ugly stuff it shouldn't have to be in your program 
All this does is define the call backs some where else 
*/ 

#include <malloc.h>		
#include <pspkernel.h>
#include <pspdisplay.h>
#include <pspdebug.h>
#include <stdio.h> 
 
 
// Exit callback
int exit_callback(int arg1, int arg2, void *common) {
sceKernelExitGame();
return 0;
}
// Callback thread 
int CallbackThread(SceSize args, void *argp) {
int cbid; 
	
cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
sceKernelRegisterExitCallback(cbid);
	
sceKernelSleepThreadCB();
 	
return 0;
}
// Sets up the callback thread and returns its thread id
int SetupCallbacks(void) {
int thid = 0;
 	
thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
if(thid >= 0) {
sceKernelStartThread(thid, 0, 0);
}
 	
return thid;
}
